package com.bfly.mall.product.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 运费模板计价方式--- 一个模板必须有一个默认的全国运输计价方式
 *
 * @author 长沙商脉科技有限公司
 * @date 2020/4/27 10:49
 */
@TableName(value = "freight_template_pricing",resultMap = "FreightTemplatePricingResultMap")
public class FreightTemplatePricing implements Serializable {

    private static final long serialVersionUID = -2763167453016215623L;

    public static final BigDecimal MIN_PRICE=new BigDecimal(0.00);        //最小费用
    public static final BigDecimal MAX_PRICE=new BigDecimal(9999.99);  // 最大费用
    public static final int MIN_PIECE=1;                                 //最小件数
    public static final int MAX_PIECE=9999;                             //最大件数
    public static final BigDecimal MIN_WEIGHT=new BigDecimal(0.1);  //最小重量
    public static final BigDecimal MAX_WEIGHT=new BigDecimal(9999.9);  //最大重量
    public static final BigDecimal MIN_VOLUME=new BigDecimal(0.1);  //最小体积
    public static final BigDecimal MAX_VOLUME=new BigDecimal(999.9);  //最大体积


    @TableId(value = "id",type = IdType.AUTO)
    private int id;

    /**
     * 运费模板ID
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:47
     */
    @TableField("template_id")
    private int templateId;

    /**
     * 运送方式
     * @see com.bfly.mall.product.enums.ShippingMethodEnum
     * @author 长沙商脉科技有限公司
     * @date 2020/10/7 21:23
     */
    @TableField("shipping_method")
    private int shippingMethod;

    /**
     * 运输城市 存id,格式为'省'或'省-市',以'|'分隔
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:51
     */
    @TableField("citys")
    private String citys;

    /**
     * 城市名称
     * @author 长沙商脉科技有限公司
     * @date 2020/10/9 21:54
     */
    @TableField("city_names")
    private String cityNames;

    /**
     * 首件
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:51
     */
    @TableField("first_piece")
    private int firstPiece;

    /**
     * 续件
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:52
     */
    @TableField("next_piece")
    private int nextPiece;

    /**
     * 首重
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:53
     */
    @TableField("first_weight")
    private BigDecimal firstWeight;

    /**
     * 续重
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:55
     */
    @TableField("next_weight")
    private BigDecimal nextWeight;

    /**
     * 首体积
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:55
     */
    @TableField("first_volume")
    private BigDecimal firstVolume;

    /**
     * 续体积
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:56
     */
    @TableField("next_volume")
    private BigDecimal nextVolume;

    /**
     * 首费用
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:56
     */
    @TableField("first_price")
    private BigDecimal firstPrice;

    /**
     * 续价
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/4/27 10:58
     */
    @TableField("next_price")
    private BigDecimal nextPrice;

    @TableField("is_default")
    private boolean defaults;

    public String getCityNames() {
        return cityNames;
    }

    public void setCityNames(String cityNames) {
        this.cityNames = cityNames;
    }

    public int getShippingMethod() {
        return shippingMethod;
    }

    public void setShippingMethod(int shippingMethod) {
        this.shippingMethod = shippingMethod;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public boolean isDefaults() {
        return defaults;
    }

    public void setDefaults(boolean defaults) {
        this.defaults = defaults;
    }

    public int getTemplateId() {
        return templateId;
    }

    public void setTemplateId(int templateId) {
        this.templateId = templateId;
    }

    public String getCitys() {
        return citys;
    }

    public void setCitys(String citys) {
        this.citys = citys;
    }

    public int getFirstPiece() {
        return firstPiece;
    }

    public void setFirstPiece(int firstPiece) {
        this.firstPiece = firstPiece;
    }

    public int getNextPiece() {
        return nextPiece;
    }

    public void setNextPiece(int nextPiece) {
        this.nextPiece = nextPiece;
    }

    public BigDecimal getFirstWeight() {
        return firstWeight;
    }

    public void setFirstWeight(BigDecimal firstWeight) {
        this.firstWeight = firstWeight;
    }

    public BigDecimal getNextWeight() {
        return nextWeight;
    }

    public void setNextWeight(BigDecimal nextWeight) {
        this.nextWeight = nextWeight;
    }

    public BigDecimal getFirstVolume() {
        return firstVolume;
    }

    public void setFirstVolume(BigDecimal firstVolume) {
        this.firstVolume = firstVolume;
    }

    public BigDecimal getNextVolume() {
        return nextVolume;
    }

    public void setNextVolume(BigDecimal nextVolume) {
        this.nextVolume = nextVolume;
    }

    public BigDecimal getFirstPrice() {
        return firstPrice;
    }

    public void setFirstPrice(BigDecimal firstPrice) {
        this.firstPrice = firstPrice;
    }

    public BigDecimal getNextPrice() {
        return nextPrice;
    }

    public void setNextPrice(BigDecimal nextPrice) {
        this.nextPrice = nextPrice;
    }
}
